﻿/**
 * jQuery EasyUI 1.3.6
 * 
 * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
 *
 * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
 * To use it on other terms please contact us at info@jeasyui.com
 *
 */
(function ($) {
    function _1(_2) {
        var _3 = $(_2);
        _3.addClass("tree");
        return _3;
    };
    function _4(_5) {
        var _6 = $.data(_5, "tree").options;
        $(_5).unbind().bind("mouseover", function (e) {
            var tt = $(e.target);
            var _7 = tt.closest("div.tree-node");
            if (!_7.length) {
                return;
            }
            _7.addClass("tree-node-hover");
            if (tt.hasClass("tree-hit")) {
                if (tt.hasClass("tree-expanded")) {
                    tt.addClass("tree-expanded-hover");
                } else {
                    tt.addClass("tree-collapsed-hover");
                }
            }
            e.stopPropagation();
        }).bind("mouseout", function (e) {
            var tt = $(e.target);
            var _8 = tt.closest("div.tree-node");
            if (!_8.length) {
                return;
            }
            _8.removeClass("tree-node-hover");
            if (tt.hasClass("tree-hit")) {
                if (tt.hasClass("tree-expanded")) {
                    tt.removeClass("tree-expanded-hover");
                } else {
                    tt.removeClass("tree-collapsed-hover");
                }
            }
            e.stopPropagation();
        }).bind("click", function (e) {
            var tt = $(e.target);
            var _9 = tt.closest("div.tree-node");
            if (!_9.length) {
                return;
            }
            if (tt.hasClass("tree-hit")) {
                _81(_5, _9[0]);
                return false;
            } else {
                if (tt.hasClass("tree-checkbox")) {
                    _34(_5, _9[0], !tt.hasClass("tree-checkbox1"));
                    return false;
                } else {
                    _da(_5, _9[0]);
                    _6.onClick.call(_5, _c(_5, _9[0]));
                }
            }
            e.stopPropagation();
        }).bind("dblclick", function (e) {
            var _a = $(e.target).closest("div.tree-node");
            if (!_a.length) {
                return;
            }
            _da(_5, _a[0]);
            _6.onDblClick.call(_5, _c(_5, _a[0]));
            e.stopPropagation();
        }).bind("contextmenu", function (e) {
            var _b = $(e.target).closest("div.tree-node");
            if (!_b.length) {
                return;
            }
            _6.onContextMenu.call(_5, e, _c(_5, _b[0]));
            e.stopPropagation();
        });
    };
    function _d(_e) {
        var _f = $.data(_e, "tree").options;
        _f.dnd = false;
        var _10 = $(_e).find("div.tree-node");
        _10.draggable("disable");
        _10.css("cursor", "pointer");
    };
    function _11(_12) {
        var _13 = $.data(_12, "tree");
        var _14 = _13.options;
        var _15 = _13.tree;
        _13.disabledNodes = [];
        _14.dnd = true;
        _15.find("div.tree-node").draggable({
            disabled: false, revert: true, cursor: "pointer", proxy: function (_16) {
                var p = $("<div class=\"tree-node-proxy\"></div>").appendTo("body");
                p.html("<span class=\"tree-dnd-icon tree-dnd-no\">&nbsp;</span>" + $(_16).find(".tree-title").html());
                p.hide();
                return p;
            }, deltaX: 15, deltaY: 15, onBeforeDrag: function (e) {
                if (_14.onBeforeDrag.call(_12, _c(_12, this)) == false) {
                    return false;
                }
                if ($(e.target).hasClass("tree-hit") || $(e.target).hasClass("tree-checkbox")) {
                    return false;
                }
                if (e.which != 1) {
                    return false;
                }
                $(this).next("ul").find("div.tree-node").droppable({ accept: "no-accept" });
                var _17 = $(this).find("span.tree-indent");
                if (_17.length) {
                    e.data.offsetWidth -= _17.length * _17.width();
                }
            }, onStartDrag: function () {
                $(this).draggable("proxy").css({ left: -10000, top: -10000 });
                _14.onStartDrag.call(_12, _c(_12, this));
                var _18 = _c(_12, this);
                if (_18.id == undefined) {
                    _18.id = "easyui_tree_node_id_temp";
                    _56(_12, _18);
                }
                _13.draggingNodeId = _18.id;
            }, onDrag: function (e) {
                var x1 = e.pageX, y1 = e.pageY, x2 = e.data.startX, y2 = e.data.startY;
                var d = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
                if (d > 3) {
                    $(this).draggable("proxy").show();
                }
                this.pageY = e.pageY;
            }, onStopDrag: function () {
                $(this).next("ul").find("div.tree-node").droppable({ accept: "div.tree-node" });
                for (var i = 0; i < _13.disabledNodes.length; i++) {
                    $(_13.disabledNodes[i]).droppable("enable");
                }
                _13.disabledNodes = [];
                var _19 = _cd(_12, _13.draggingNodeId);
                if (_19 && _19.id == "easyui_tree_node_id_temp") {
                    _19.id = "";
                    _56(_12, _19);
                }
                _14.onStopDrag.call(_12, _19);
            }
        }).droppable({
            accept: "div.tree-node", onDragEnter: function (e, _1a) {
                if (_14.onDragEnter.call(_12, this, _1b(_1a)) == false) {
                    _1c(_1a, false);
                    $(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
                    $(this).droppable("disable");
                    _13.disabledNodes.push(this);
                }
            }, onDragOver: function (e, _1d) {
                if ($(this).droppable("options").disabled) {
                    return;
                }
                var _1e = _1d.pageY;
                var top = $(this).offset().top;
                var _1f = top + $(this).outerHeight();
                _1c(_1d, true);
                $(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
                if (_1e > top + (_1f - top) / 2) {
                    if (_1f - _1e < 5) {
                        $(this).addClass("tree-node-bottom");
                    } else {
                        $(this).addClass("tree-node-append");
                    }
                } else {
                    if (_1e - top < 5) {
                        $(this).addClass("tree-node-top");
                    } else {
                        $(this).addClass("tree-node-append");
                    }
                }
                if (_14.onDragOver.call(_12, this, _1b(_1d)) == false) {
                    _1c(_1d, false);
                    $(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
                    $(this).droppable("disable");
                    _13.disabledNodes.push(this);
                }
            }, onDragLeave: function (e, _20) {
                _1c(_20, false);
                $(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
                _14.onDragLeave.call(_12, this, _1b(_20));
            }, onDrop: function (e, _21) {
                var _22 = this;
                var _23, _24;
                if ($(this).hasClass("tree-node-append")) {
                    _23 = _25;
                    _24 = "append";
                } else {
                    _23 = _26;
                    _24 = $(this).hasClass("tree-node-top") ? "top" : "bottom";
                }
                if (_14.onBeforeDrop.call(_12, _22, _1b(_21), _24) == false) {
                    $(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
                    return;
                }
                _23(_21, _22, _24);
                $(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
            }
        });
        function _1b(_27, pop) {
            return $(_27).closest("ul.tree").tree(pop ? "pop" : "getData", _27);
        };
        function _1c(_28, _29) {
            var _2a = $(_28).draggable("proxy").find("span.tree-dnd-icon");
            _2a.removeClass("tree-dnd-yes tree-dnd-no").addClass(_29 ? "tree-dnd-yes" : "tree-dnd-no");
        };
        function _25(_2b, _2c) {
            if (_c(_12, _2c).state == "closed") {
                _75(_12, _2c, function () {
                    _2d();
                });
            } else {
                _2d();
            }
            function _2d() {
                var _2e = _1b(_2b, true);
                $(_12).tree("append", { parent: _2c, data: [_2e] });
                _14.onDrop.call(_12, _2c, _2e, "append");
            };
        };
        function _26(_2f, _30, _31) {
            var _32 = {};
            if (_31 == "top") {
                _32.before = _30;
            } else {
                _32.after = _30;
            }
            var _33 = _1b(_2f, true);
            _32.data = _33;
            $(_12).tree("insert", _32);
            _14.onDrop.call(_12, _30, _33, _31);
        };
    };
    function _34(_35, _36, _37) {
        var _38 = $.data(_35, "tree").options;
        if (!_38.checkbox) {
            return;
        }
        var _39 = _c(_35, _36);
        if (_38.onBeforeCheck.call(_35, _39, _37) == false) {
            return;
        }
        var _3a = $(_36);
        var ck = _3a.find(".tree-checkbox");
        ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2");
        if (_37) {
            ck.addClass("tree-checkbox1");
        } else {
            ck.addClass("tree-checkbox0");
        }
        if (_38.cascadeCheck) {
            _3b(_3a);
            _3c(_3a);
        }
        _38.onCheck.call(_35, _39, _37);
        function _3c(_3d) {
            var _3e = _3d.next().find(".tree-checkbox");
            _3e.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2");
            if (_3d.find(".tree-checkbox").hasClass("tree-checkbox1")) {
                _3e.addClass("tree-checkbox1");
            } else {
                _3e.addClass("tree-checkbox0");
            }
        };
        function _3b(_3f) {
            var _40 = _8c(_35, _3f[0]);
            if (_40) {
                var ck = $(_40.target).find(".tree-checkbox");
                ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2");
                if (_41(_3f)) {
                    ck.addClass("tree-checkbox1");
                } else {
                    if (_42(_3f)) {
                        ck.addClass("tree-checkbox0");
                    } else {
                        ck.addClass("tree-checkbox2");
                    }
                }
                _3b($(_40.target));
            }
            function _41(n) {
                var ck = n.find(".tree-checkbox");
                if (ck.hasClass("tree-checkbox0") || ck.hasClass("tree-checkbox2")) {
                    return false;
                }
                var b = true;
                n.parent().siblings().each(function () {
                    if (!$(this).children("div.tree-node").children(".tree-checkbox").hasClass("tree-checkbox1")) {
                        b = false;
                    }
                });
                return b;
            };
            function _42(n) {
                var ck = n.find(".tree-checkbox");
                if (ck.hasClass("tree-checkbox1") || ck.hasClass("tree-checkbox2")) {
                    return false;
                }
                var b = true;
                n.parent().siblings().each(function () {
                    if (!$(this).children("div.tree-node").children(".tree-checkbox").hasClass("tree-checkbox0")) {
                        b = false;
                    }
                });
                return b;
            };
        };
    };
    function _43(_44, _45) {
        var _46 = $.data(_44, "tree").options;
        if (!_46.checkbox) {
            return;
        }
        var _47 = $(_45);
        if (_48(_44, _45)) {
            var ck = _47.find(".tree-checkbox");
            if (ck.length) {
                if (ck.hasClass("tree-checkbox1")) {
                    _34(_44, _45, true);
                } else {
                    _34(_44, _45, false);
                }
            } else {
                if (_46.onlyLeafCheck) {
                    $("<span class=\"tree-checkbox tree-checkbox0\"></span>").insertBefore(_47.find(".tree-title"));
                }
            }
        } else {
            var ck = _47.find(".tree-checkbox");
            if (_46.onlyLeafCheck) {
                ck.remove();
            } else {
                if (ck.hasClass("tree-checkbox1")) {
                    _34(_44, _45, true);
                } else {
                    if (ck.hasClass("tree-checkbox2")) {
                        var _49 = true;
                        var _4a = true;
                        var _4b = _4c(_44, _45);
                        for (var i = 0; i < _4b.length; i++) {
                            if (_4b[i].checked) {
                                _4a = false;
                            } else {
                                _49 = false;
                            }
                        }
                        if (_49) {
                            _34(_44, _45, true);
                        }
                        if (_4a) {
                            _34(_44, _45, false);
                        }
                    }
                }
            }
        }
    };
    function _4d(_4e, ul, _4f, _50) {
        var _51 = $.data(_4e, "tree");
        var _52 = _51.options;
        var _53 = $(ul).prevAll("div.tree-node:first");
        _4f = _52.loadFilter.call(_4e, _4f, _53[0]);
        var _54 = _55(_4e, "domId", _53.attr("id"));
        if (!_50) {
            _54 ? _54.children = _4f : _51.data = _4f;
            $(ul).empty();
        } else {
            if (_54) {
                _54.children ? _54.children = _54.children.concat(_4f) : _54.children = _4f;
            } else {
                _51.data = _51.data.concat(_4f);
            }
        }
        _52.view.render.call(_52.view, _4e, ul, _4f);
        if (_52.dnd) {
            _11(_4e);
        }
        if (_54) {
            _56(_4e, _54);
        }
        var _57 = [];
        var _58 = [];
        for (var i = 0; i < _4f.length; i++) {
            var _59 = _4f[i];
            if (!_59.checked) {
                _57.push(_59);
            }
        }
        _5a(_4f, function (_5b) {
            if (_5b.checked) {
                _58.push(_5b);
            }
        });
        var _5c = _52.onCheck;
        _52.onCheck = function () {
        };
        if (_57.length) {
            _34(_4e, $("#" + _57[0].domId)[0], false);
        }
        for (var i = 0; i < _58.length; i++) {
            _34(_4e, $("#" + _58[i].domId)[0], true);
        }
        _52.onCheck = _5c;
        setTimeout(function () {
            _5d(_4e, _4e);
        }, 0);
        _52.onLoadSuccess.call(_4e, _54, _4f);
    };
    function _5d(_5e, ul, _5f) {
        var _60 = $.data(_5e, "tree").options;
        if (_60.lines) {
            $(_5e).addClass("tree-lines");
        } else {
            $(_5e).removeClass("tree-lines");
            return;
        }
        if (!_5f) {
            _5f = true;
            $(_5e).find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom");
            $(_5e).find("div.tree-node").removeClass("tree-node-last tree-root-first tree-root-one");
            var _61 = $(_5e).tree("getRoots");
            if (_61.length > 1) {
                $(_61[0].target).addClass("tree-root-first");
            } else {
                if (_61.length == 1) {
                    $(_61[0].target).addClass("tree-root-one");
                }
            }
        }
        $(ul).children("li").each(function () {
            var _62 = $(this).children("div.tree-node");
            var ul = _62.next("ul");
            if (ul.length) {
                if ($(this).next().length) {
                    _63(_62);
                }
                _5d(_5e, ul, _5f);
            } else {
                _64(_62);
            }
        });
        var _65 = $(ul).children("li:last").children("div.tree-node").addClass("tree-node-last");
        _65.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom");
        function _64(_66, _67) {
            var _68 = _66.find("span.tree-icon");
            _68.prev("span.tree-indent").addClass("tree-join");
        };
        function _63(_69) {
            var _6a = _69.find("span.tree-indent, span.tree-hit").length;
            _69.next().find("div.tree-node").each(function () {
                $(this).children("span:eq(" + (_6a - 1) + ")").addClass("tree-line");
            });
        };
    };
    function _6b(_6c, ul, _6d, _6e) {
        var _6f = $.data(_6c, "tree").options;
        _6d = _6d || {};
        var _70 = null;
        if (_6c != ul) {
            var _71 = $(ul).prev();
            _70 = _c(_6c, _71[0]);
        }
        if (_6f.onBeforeLoad.call(_6c, _70, _6d) == false) {
            return;
        }
        var _72 = $(ul).prev().children("span.tree-folder");
        _72.addClass("tree-loading");
        var _73 = _6f.loader.call(_6c, _6d, function (_74) {
            _72.removeClass("tree-loading");
            _4d(_6c, ul, _74);
            if (_6e) {
                _6e();
            }
        }, function () {
            _72.removeClass("tree-loading");
            _6f.onLoadError.apply(_6c, arguments);
            if (_6e) {
                _6e();
            }
        });
        if (_73 == false) {
            _72.removeClass("tree-loading");
        }
    };
    function _75(_76, _77, _78) {
        var _79 = $.data(_76, "tree").options;
        var hit = $(_77).children("span.tree-hit");
        if (hit.length == 0) {
            return;
        }
        if (hit.hasClass("tree-expanded")) {
            return;
        }
        var _7a = _c(_76, _77);
        if (_79.onBeforeExpand.call(_76, _7a) == false) {
            return;
        }
        hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded");
        hit.next().addClass("tree-folder-open");
        var ul = $(_77).next();
        if (ul.length) {
            if (_79.animate) {
                ul.slideDown("normal", function () {
                    _7a.state = "open";
                    _79.onExpand.call(_76, _7a);
                    if (_78) {
                        _78();
                    }
                });
            } else {
                ul.css("display", "block");
                _7a.state = "open";
                _79.onExpand.call(_76, _7a);
                if (_78) {
                    _78();
                }
            }
        } else {
            var _7b = $("<ul style=\"display:none\"></ul>").insertAfter(_77);
            _6b(_76, _7b[0], { id: _7a.id }, function () {
                if (_7b.is(":empty")) {
                    _7b.remove();
                }
                if (_79.animate) {
                    _7b.slideDown("normal", function () {
                        _7a.state = "open";
                        _79.onExpand.call(_76, _7a);
                        if (_78) {
                            _78();
                        }
                    });
                } else {
                    _7b.css("display", "block");
                    _7a.state = "open";
                    _79.onExpand.call(_76, _7a);
                    if (_78) {
                        _78();
                    }
                }
            });
        }
    };
    function _7c(_7d, _7e) {
        var _7f = $.data(_7d, "tree").options;
        var hit = $(_7e).children("span.tree-hit");
        if (hit.length == 0) {
            return;
        }
        if (hit.hasClass("tree-collapsed")) {
            return;
        }
        var _80 = _c(_7d, _7e);
        if (_7f.onBeforeCollapse.call(_7d, _80) == false) {
            return;
        }
        hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
        hit.next().removeClass("tree-folder-open");
        var ul = $(_7e).next();
        if (_7f.animate) {
            ul.slideUp("normal", function () {
                _80.state = "closed";
                _7f.onCollapse.call(_7d, _80);
            });
        } else {
            ul.css("display", "none");
            _80.state = "closed";
            _7f.onCollapse.call(_7d, _80);
        }
    };
    function _81(_82, _83) {
        var hit = $(_83).children("span.tree-hit");
        if (hit.length == 0) {
            return;
        }
        if (hit.hasClass("tree-expanded")) {
            _7c(_82, _83);
        } else {
            _75(_82, _83);
        }
    };
    function _84(_85, _86) {
        var _87 = _4c(_85, _86);
        if (_86) {
            _87.unshift(_c(_85, _86));
        }
        for (var i = 0; i < _87.length; i++) {
            _75(_85, _87[i].target);
        }
    };
    function _88(_89, _8a) {
        var _8b = [];
        var p = _8c(_89, _8a);
        while (p) {
            _8b.unshift(p);
            p = _8c(_89, p.target);
        }
        for (var i = 0; i < _8b.length; i++) {
            _75(_89, _8b[i].target);
        }
    };
    function _8d(_8e, _8f) {
        var c = $(_8e).parent();
        while (c[0].tagName != "BODY" && c.css("overflow-y") != "auto") {
            c = c.parent();
        }
        var n = $(_8f);
        var _90 = n.offset().top;
        if (c[0].tagName != "BODY") {
            var _91 = c.offset().top;
            if (_90 < _91) {
                c.scrollTop(c.scrollTop() + _90 - _91);
            } else {
                if (_90 + n.outerHeight() > _91 + c.outerHeight() - 18) {
                    c.scrollTop(c.scrollTop() + _90 + n.outerHeight() - _91 - c.outerHeight() + 18);
                }
            }
        } else {
            c.scrollTop(_90);
        }
    };
    function _92(_93, _94) {
        var _95 = _4c(_93, _94);
        if (_94) {
            _95.unshift(_c(_93, _94));
        }
        for (var i = 0; i < _95.length; i++) {
            _7c(_93, _95[i].target);
        }
    };
    function _96(_97, _98) {
        var _99 = $(_98.parent);
        var _9a = _98.data;
        if (!_9a) {
            return;
        }
        _9a = $.isArray(_9a) ? _9a : [_9a];
        if (!_9a.length) {
            return;
        }
        var ul;
        if (_99.length == 0) {
            ul = $(_97);
        } else {
            if (_48(_97, _99[0])) {
                var _9b = _99.find("span.tree-icon");
                _9b.removeClass("tree-file").addClass("tree-folder tree-folder-open");
                var hit = $("<span class=\"tree-hit tree-expanded\"></span>").insertBefore(_9b);
                if (hit.prev().length) {
                    hit.prev().remove();
                }
            }
            ul = _99.next();
            if (!ul.length) {
                ul = $("<ul></ul>").insertAfter(_99);
            }
        }
        _4d(_97, ul[0], _9a, true);
        _43(_97, ul.prev());
    };
    function _9c(_9d, _9e) {
        var ref = _9e.before || _9e.after;
        var _9f = _8c(_9d, ref);
        var _a0 = _9e.data;
        if (!_a0) {
            return;
        }
        _a0 = $.isArray(_a0) ? _a0 : [_a0];
        if (!_a0.length) {
            return;
        }
        _96(_9d, { parent: (_9f ? _9f.target : null), data: _a0 });
        var _a1 = _9f ? _9f.children : $(_9d).tree("getRoots");
        for (var i = 0; i < _a1.length; i++) {
            if (_a1[i].domId == $(ref).attr("id")) {
                for (var j = _a0.length - 1; j >= 0; j--) {
                    _a1.splice((_9e.before ? i : (i + 1)), 0, _a0[j]);
                }
                _a1.splice(_a1.length - _a0.length, _a0.length);
                break;
            }
        }
        var li = $();
        for (var i = 0; i < _a0.length; i++) {
            li = li.add($("#" + _a0[i].domId).parent());
        }
        if (_9e.before) {
            li.insertBefore($(ref).parent());
        } else {
            li.insertAfter($(ref).parent());
        }
    };
    function _a2(_a3, _a4) {
        var _a5 = del(_a4);
        $(_a4).parent().remove();
        if (_a5) {
            if (!_a5.children || !_a5.children.length) {
                var _a6 = $(_a5.target);
                _a6.find(".tree-icon").removeClass("tree-folder").addClass("tree-file");
                _a6.find(".tree-hit").remove();
                $("<span class=\"tree-indent\"></span>").prependTo(_a6);
                _a6.next().remove();
            }
            _56(_a3, _a5);
            _43(_a3, _a5.target);
        }
        _5d(_a3, _a3);
        function del(_a7) {
            var id = $(_a7).attr("id");
            var _a8 = _8c(_a3, _a7);
            var cc = _a8 ? _a8.children : $.data(_a3, "tree").data;
            for (var i = 0; i < cc.length; i++) {
                if (cc[i].domId == id) {
                    cc.splice(i, 1);
                    break;
                }
            }
            return _a8;
        };
    };
    function _56(_a9, _aa) {
        var _ab = $.data(_a9, "tree").options;
        var _ac = $(_aa.target);
        var _ad = _c(_a9, _aa.target);
        var _ae = _ad.checked;
        if (_ad.iconCls) {
            _ac.find(".tree-icon").removeClass(_ad.iconCls);
        }
        $.extend(_ad, _aa);
        _ac.find(".tree-title").html(_ab.formatter.call(_a9, _ad));
        if (_ad.iconCls) {
            _ac.find(".tree-icon").addClass(_ad.iconCls);
        }
        if (_ae != _ad.checked) {
            _34(_a9, _aa.target, _ad.checked);
        }
    };
    function _af(_b0) {
        var _b1 = _b2(_b0);
        return _b1.length ? _b1[0] : null;
    };
    function _b2(_b3) {
        var _b4 = $.data(_b3, "tree").data;
        for (var i = 0; i < _b4.length; i++) {
            _b5(_b4[i]);
        }
        return _b4;
    };
    function _4c(_b6, _b7) {
        var _b8 = [];
        var n = _c(_b6, _b7);
        var _b9 = n ? n.children : $.data(_b6, "tree").data;
        _5a(_b9, function (_ba) {
            _b8.push(_b5(_ba));
        });
        return _b8;
    };
    function _8c(_bb, _bc) {
        var p = $(_bc).closest("ul").prevAll("div.tree-node:first");
        return _c(_bb, p[0]);
    };
    function _bd(_be, _bf) {
        _bf = _bf || "checked";
        if (!$.isArray(_bf)) {
            _bf = [_bf];
        }
        var _c0 = [];
        for (var i = 0; i < _bf.length; i++) {
            var s = _bf[i];
            if (s == "checked") {
                _c0.push("span.tree-checkbox1");
            } else {
                if (s == "unchecked") {
                    _c0.push("span.tree-checkbox0");
                } else {
                    if (s == "indeterminate") {
                        _c0.push("span.tree-checkbox2");
                    }
                }
            }
        }
        var _c1 = [];
        $(_be).find(_c0.join(",")).each(function () {
            var _c2 = $(this).parent();
            _c1.push(_c(_be, _c2[0]));
        });
        return _c1;
    };
    function _c3(_c4) {
        var _c5 = $(_c4).find("div.tree-node-selected");
        return _c5.length ? _c(_c4, _c5[0]) : null;
    };
    function _c6(_c7, _c8) {
        var _c9 = _c(_c7, _c8);
        if (_c9 && _c9.children) {
            _5a(_c9.children, function (_ca) {
                _b5(_ca);
            });
        }
        return _c9;
    };
    function _c(_cb, _cc) {
        return _55(_cb, "domId", $(_cc).attr("id"));
    };
    function _cd(_ce, id) {
        return _55(_ce, "id", id);
    };
    function _55(_cf, _d0, _d1) {
        var _d2 = $.data(_cf, "tree").data;
        var _d3 = null;
        _5a(_d2, function (_d4) {
            if (_d4[_d0] == _d1) {
                _d3 = _b5(_d4);
                return false;
            }
        });
        return _d3;
    };
    function _b5(_d5) {
        var d = $("#" + _d5.domId);
        _d5.target = d[0];
        _d5.checked = d.find(".tree-checkbox").hasClass("tree-checkbox1");
        return _d5;
    };
    function _5a(_d6, _d7) {
        var _d8 = [];
        for (var i = 0; i < _d6.length; i++) {
            _d8.push(_d6[i]);
        }
        while (_d8.length) {
            var _d9 = _d8.shift();
            if (_d7(_d9) == false) {
                return;
            }
            if (_d9.children) {
                for (var i = _d9.children.length - 1; i >= 0; i--) {
                    _d8.unshift(_d9.children[i]);
                }
            }
        }
    };
    function _da(_db, _dc) {
        var _dd = $.data(_db, "tree").options;
        var _de = _c(_db, _dc);
        if (_dd.onBeforeSelect.call(_db, _de) == false) {
            return;
        }
        $(_db).find("div.tree-node-selected").removeClass("tree-node-selected");
        $(_dc).addClass("tree-node-selected");
        _dd.onSelect.call(_db, _de);
    };
    function _48(_df, _e0) {
        return $(_e0).children("span.tree-hit").length == 0;
    };
    function _e1(_e2, _e3) {
        var _e4 = $.data(_e2, "tree").options;
        var _e5 = _c(_e2, _e3);
        if (_e4.onBeforeEdit.call(_e2, _e5) == false) {
            return;
        }
        $(_e3).css("position", "relative");
        var nt = $(_e3).find(".tree-title");
        var _e6 = nt.outerWidth();
        nt.empty();
        var _e7 = $("<input class=\"tree-editor\">").appendTo(nt);
        _e7.val(_e5.text).focus();
        _e7.width(_e6 + 20);
        _e7.height(document.compatMode == "CSS1Compat" ? (18 - (_e7.outerHeight() - _e7.height())) : 18);
        _e7.bind("click", function (e) {
            return false;
        }).bind("mousedown", function (e) {
            e.stopPropagation();
        }).bind("mousemove", function (e) {
            e.stopPropagation();
        }).bind("keydown", function (e) {
            if (e.keyCode == 13) {
                _e8(_e2, _e3);
                return false;
            } else {
                if (e.keyCode == 27) {
                    _ee(_e2, _e3);
                    return false;
                }
            }
        }).bind("blur", function (e) {
            e.stopPropagation();
            _e8(_e2, _e3);
        });
    };
    function _e8(_e9, _ea) {
        var _eb = $.data(_e9, "tree").options;
        $(_ea).css("position", "");
        var _ec = $(_ea).find("input.tree-editor");
        var val = _ec.val();
        _ec.remove();
        var _ed = _c(_e9, _ea);
        _ed.text = val;
        _56(_e9, _ed);
        _eb.onAfterEdit.call(_e9, _ed);
    };
    function _ee(_ef, _f0) {
        var _f1 = $.data(_ef, "tree").options;
        $(_f0).css("position", "");
        $(_f0).find("input.tree-editor").remove();
        var _f2 = _c(_ef, _f0);
        _56(_ef, _f2);
        _f1.onCancelEdit.call(_ef, _f2);
    };
    $.fn.tree = function (_f3, _f4) {
        if (typeof _f3 == "string") {
            return $.fn.tree.methods[_f3](this, _f4);
        }
        var _f3 = _f3 || {};
        return this.each(function () {
            var _f5 = $.data(this, "tree");
            var _f6;
            if (_f5) {
                _f6 = $.extend(_f5.options, _f3);
                _f5.options = _f6;
            } else {
                _f6 = $.extend({}, $.fn.tree.defaults, $.fn.tree.parseOptions(this), _f3);
                $.data(this, "tree", { options: _f6, tree: _1(this), data: [] });
                var _f7 = $.fn.tree.parseData(this);
                if (_f7.length) {
                    _4d(this, this, _f7);
                }
            }
            _4(this);
            if (_f6.data) {
                _4d(this, this, $.extend(true, [], _f6.data));
            }
            _6b(this, this);
        });
    };
    $.fn.tree.methods = {
        options: function (jq) {
            return $.data(jq[0], "tree").options;
        }, loadData: function (jq, _f8) {
            return jq.each(function () {
                _4d(this, this, _f8);
            });
        }, getNode: function (jq, _f9) {
            return _c(jq[0], _f9);
        }, getData: function (jq, _fa) {
            return _c6(jq[0], _fa);
        }, reload: function (jq, _fb) {
            return jq.each(function () {
                if (_fb) {
                    var _fc = $(_fb);
                    var hit = _fc.children("span.tree-hit");
                    hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
                    _fc.next().remove();
                    _75(this, _fb);
                } else {
                    $(this).empty();
                    _6b(this, this);
                }
            });
        }, getRoot: function (jq) {
            return _af(jq[0]);
        }, getRoots: function (jq) {
            return _b2(jq[0]);
        }, getParent: function (jq, _fd) {
            return _8c(jq[0], _fd);
        }, getChildren: function (jq, _fe) {
            return _4c(jq[0], _fe);
        }, getChecked: function (jq, _ff) {
            return _bd(jq[0], _ff);
        }, getSelected: function (jq) {
            return _c3(jq[0]);
        }, isLeaf: function (jq, _100) {
            return _48(jq[0], _100);
        }, find: function (jq, id) {
            return _cd(jq[0], id);
        }, select: function (jq, _101) {
            return jq.each(function () {
                _da(this, _101);
            });
        }, check: function (jq, _102) {
            return jq.each(function () {
                _34(this, _102, true);
            });
        }, uncheck: function (jq, _103) {
            return jq.each(function () {
                _34(this, _103, false);
            });
        }, collapse: function (jq, _104) {
            return jq.each(function () {
                _7c(this, _104);
            });
        }, expand: function (jq, _105) {
            return jq.each(function () {
                _75(this, _105);
            });
        }, collapseAll: function (jq, _106) {
            return jq.each(function () {
                _92(this, _106);
            });
        }, expandAll: function (jq, _107) {
            return jq.each(function () {
                _84(this, _107);
            });
        }, expandTo: function (jq, _108) {
            return jq.each(function () {
                _88(this, _108);
            });
        }, scrollTo: function (jq, _109) {
            return jq.each(function () {
                _8d(this, _109);
            });
        }, toggle: function (jq, _10a) {
            return jq.each(function () {
                _81(this, _10a);
            });
        }, append: function (jq, _10b) {
            return jq.each(function () {
                _96(this, _10b);
            });
        }, insert: function (jq, _10c) {
            return jq.each(function () {
                _9c(this, _10c);
            });
        }, remove: function (jq, _10d) {
            return jq.each(function () {
                _a2(this, _10d);
            });
        }, pop: function (jq, _10e) {
            var node = jq.tree("getData", _10e);
            jq.tree("remove", _10e);
            return node;
        }, update: function (jq, _10f) {
            return jq.each(function () {
                _56(this, _10f);
            });
        }, enableDnd: function (jq) {
            return jq.each(function () {
                _11(this);
            });
        }, disableDnd: function (jq) {
            return jq.each(function () {
                _d(this);
            });
        }, beginEdit: function (jq, _110) {
            return jq.each(function () {
                _e1(this, _110);
            });
        }, endEdit: function (jq, _111) {
            return jq.each(function () {
                _e8(this, _111);
            });
        }, cancelEdit: function (jq, _112) {
            return jq.each(function () {
                _ee(this, _112);
            });
        }
    };
    $.fn.tree.parseOptions = function (_113) {
        var t = $(_113);
        return $.extend({}, $.parser.parseOptions(_113, ["url", "method", { checkbox: "boolean", cascadeCheck: "boolean", onlyLeafCheck: "boolean" }, { animate: "boolean", lines: "boolean", dnd: "boolean" }]));
    };
    $.fn.tree.parseData = function (_114) {
        var data = [];
        _115(data, $(_114));
        return data;
        function _115(aa, tree) {
            tree.children("li").each(function () {
                var node = $(this);
                var item = $.extend({}, $.parser.parseOptions(this, ["id", "iconCls", "state"]), { checked: (node.attr("checked") ? true : undefined) });
                item.text = node.children("span").html();
                if (!item.text) {
                    item.text = node.html();
                }
                var _116 = node.children("ul");
                if (_116.length) {
                    item.children = [];
                    _115(item.children, _116);
                }
                aa.push(item);
            });
        };
    };
    var _117 = 1;
    var _118 = {
        render: function (_119, ul, data) {
            var opts = $.data(_119, "tree").options;
            var _11a = $(ul).prev("div.tree-node").find("span.tree-indent, span.tree-hit").length;
            var cc = _11b(_11a, data);
            $(ul).append(cc.join(""));
            function _11b(_11c, _11d) {
                var cc = [];
                for (var i = 0; i < _11d.length; i++) {
                    var item = _11d[i];
                    if (item.state != "open" && item.state != "closed") {
                        item.state = "open";
                    }
                    item.domId = "_easyui_tree_" + _117++;
                    cc.push("<li>");
                    cc.push("<div id=\"" + item.domId + "\" class=\"tree-node\">");
                    for (var j = 0; j < _11c; j++) {
                        cc.push("<span class=\"tree-indent\"></span>");
                    }
                    var _11e = false;
                    if (item.state == "closed") {
                        cc.push("<span class=\"tree-hit tree-collapsed\"></span>");
                        cc.push("<span class=\"tree-icon tree-folder " + (item.iconCls ? item.iconCls : "") + "\"></span>");
                    } else {
                        if (item.children && item.children.length) {
                            cc.push("<span class=\"tree-hit tree-expanded\"></span>");
                            cc.push("<span class=\"tree-icon tree-folder tree-folder-open " + (item.iconCls ? item.iconCls : "") + "\"></span>");
                        } else {
                            cc.push("<span class=\"tree-indent\"></span>");
                            cc.push("<span class=\"tree-icon tree-file " + (item.iconCls ? item.iconCls : "") + "\"></span>");
                            _11e = true;
                        }
                    }
                    if (opts.checkbox) {
                        if ((!opts.onlyLeafCheck) || _11e) {
                            cc.push("<span class=\"tree-checkbox tree-checkbox0\"></span>");
                        }
                    }
                    cc.push("<span class=\"tree-title\">" + opts.formatter.call(_119, item) + "</span>");
                    cc.push("</div>");
                    if (item.children && item.children.length) {
                        var tmp = _11b(_11c + 1, item.children);
                        cc.push("<ul style=\"display:" + (item.state == "closed" ? "none" : "block") + "\">");
                        cc = cc.concat(tmp);
                        cc.push("</ul>");
                    }
                    cc.push("</li>");
                }
                return cc;
            };
        }
    };
    $.fn.tree.defaults = {
        url: null, method: "post", animate: false, checkbox: false, cascadeCheck: true, onlyLeafCheck: false, lines: false, dnd: false, data: null, formatter: function (node) {
            return node.text;
        }, loader: function (_11f, _120, _121) {
            var opts = $(this).tree("options");
            if (!opts.url) {
                return false;
            }
            $.ajax({
                type: opts.method, url: opts.url, data: _11f, dataType: "json", success: function (data) {
                    _120(data);
                }, error: function () {
                    _121.apply(this, arguments);
                }
            });
        }, loadFilter: function (data, _122) {
            return data;
        }, view: _118, onBeforeLoad: function (node, _123) {
        }, onLoadSuccess: function (node, data) {
        }, onLoadError: function () {
        }, onClick: function (node) {
        }, onDblClick: function (node) {
        }, onBeforeExpand: function (node) {
        }, onExpand: function (node) {
        }, onBeforeCollapse: function (node) {
        }, onCollapse: function (node) {
        }, onBeforeCheck: function (node, _124) {
        }, onCheck: function (node, _125) {
        }, onBeforeSelect: function (node) {
        }, onSelect: function (node) {
        }, onContextMenu: function (e, node) {
        }, onBeforeDrag: function (node) {
        }, onStartDrag: function (node) {
        }, onStopDrag: function (node) {
        }, onDragEnter: function (_126, _127) {
        }, onDragOver: function (_128, _129) {
        }, onDragLeave: function (_12a, _12b) {
        }, onBeforeDrop: function (_12c, _12d, _12e) {
        }, onDrop: function (_12f, _130, _131) {
        }, onBeforeEdit: function (node) {
        }, onAfterEdit: function (node) {
        }, onCancelEdit: function (node) {
        }
    };
})(jQuery);

